home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / knowhow4 / remember.cpp < prev    next >
C/C++ Source or Header  |  1994-10-10  |  2KB  |  56 lines

  1. // REMEMBER.CPP
  2. #include <remember.h>                                                                                  ::putimage(where.origin.X, where.origin.Y, image1);
  3.  
  4. void Remember::getimage(rect where, int width)
  5.     {
  6.     if(image1 != NULL)
  7.     delete image1;
  8.     if(image2 != NULL)
  9.     delete image2;
  10.     if(image3 != NULL)
  11.     delete image3;
  12.     if(image4 != NULL)
  13.     delete image4;
  14.     image1 = image2 = image3 = image4 = NULL;
  15.     int size_vert = imagesize(where.origin.X, where.origin.Y,
  16.                   where.origin.X + width, where.corner.Y + 2);
  17.     int size_horiz = imagesize(where.origin.X, where.origin.Y,
  18.                   where.corner.X + 2, where.origin.Y + width);
  19.     image1 = malloc(size_vert);    // ATTENTION !!! For speed we do not
  20.                    // include any verification here
  21.                    // rewrite if necessary
  22.     ::getimage(where.origin.X, where.origin.Y,
  23.             where.origin.X + width - 1, where.corner.Y - 1,
  24.             image1);
  25.     image2 = malloc(size_vert);
  26.     ::getimage(where.corner.X - width + 1, where.origin.Y,
  27.             where.corner.X, where.corner.Y, image2);
  28.  
  29.     image3 = malloc(size_horiz);
  30.     ::getimage(where.origin.X, where.origin.Y,
  31.             where.corner.X, where.origin.Y + width - 1, image3);
  32.  
  33.     image4 = malloc(size_horiz);
  34.     ::getimage(where.origin.X, where.corner.Y - width + 1,
  35.             where.corner.X, where.corner.Y, image4);
  36.     }
  37. /////////////////////////////
  38. void Remember::putimage(rect where, int width, int put)
  39.     {
  40.     if(image1 != NULL)
  41.     ::putimage(where.origin.X, where.origin.Y, image1, put);
  42.     if(image2 != NULL)
  43.     ::putimage(where.corner.X - width + 1, where.origin.Y, image2, put);
  44.     if(image3 != NULL)
  45.     ::putimage(where.origin.X, where.origin.Y, image3, put);
  46.     if(image4 != NULL)
  47.     ::putimage(where.origin.X, where.corner.Y - width + 1, image4, put);
  48.  
  49.     delete image4;
  50.     delete image3;
  51.     delete image2;
  52.     delete image1;
  53.     image1 = image2 = image3 = image4 = NULL;
  54.     }
  55. ///////////////////////////
  56.